home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 21 / AMIGAplus Sonderheft 21 (1999)(ICP)(DE)[!].iso / PublicDomain / System / recoverdeldir / arexx / Check next >
Text File  |  1999-08-23  |  2KB  |  82 lines

  1. /* ARexxScript (checks existence and versions of programs) */
  2.  
  3. PARSE ARG Prg Ver
  4.  
  5. IF Open('lg','ENV:language','R') THEN DO
  6.   language = ReadLn('lg')
  7.   Call Close('lg')
  8. END
  9. ELSE Language = "english"
  10.  
  11. IF EXISTS(Prg) THEN DO
  12.   IF language = 'deutsch' THEN
  13.     Text = "Die Datei*n"||Prg||"*nwurde gefunden :-)"
  14.   ELSE
  15.     Text = "The file*n"||Prg||"*nwas found :-)"
  16.   ex = 1
  17. END
  18. ELSE DO
  19.   IF language = 'deutsch' THEN
  20.     Text = "Die Datei*n"||Prg||"*nwurde hier NICHT gefunden !"
  21.   ELSE
  22.     Text = "The file*n"||Prg||"*nwasn`t found here !"
  23.   ex = 0
  24. END
  25.  
  26. IF ex = 1 & Word(Ver,1) = "Port" THEN DO
  27.   erg = SHOW('P',Word(Ver,2))
  28.   IF erg = 0 THEN DO
  29.     IF language = 'deutsch' THEN
  30.       Text = Text||"*n*nAber das Programm läuft nicht !"
  31.     ELSE
  32.       Text = Text||"*n*nBut the program isn`t running !"
  33.   END
  34.   ELSE DO
  35.     IF language = 'deutsch' THEN
  36.       Text = Text||"*n*nDas Programm läuft.*nPortname : "Word(Ver,2)
  37.     ELSE
  38.       Text = Text||"*n*nThe program is running.*nPortname is : "Word(Ver,2)
  39.   END
  40.   Ver = ""
  41. END
  42.  
  43. IF ex = 1 & Ver ~= "" THEN DO
  44.   Address command 'c:version 'Prg' > Ram:T/PrgVersion'
  45.   CALL OPEN('vers','Ram:T/PrgVersion','R')
  46.   PVer = Word(ReadLn('vers'),2)
  47.   CALL CLOSE('vers')
  48.   address command 'c:delete Ram:T/PrgVersion'
  49.   Ver1  = Strip(Left(Ver,Pos(".",Ver)-1),'L')
  50.   Ver2  = SubStr(Ver,Pos(".",Ver)+1)
  51.   PVer1 = Left(PVer,Pos(".",PVer)-1)
  52.   PVer2 = SubStr(PVer,Pos(".",PVer)+1)
  53.   PVer2 = SubStr(PVer,Pos(".",PVer)+1)
  54.   IF PVer1 < Ver1 THEN lower = 1
  55.   IF PVer1 = Ver1 & PVer2 < Ver2 THEN lower = 1
  56.   IF lower = 1 THEN DO
  57.     IF language = 'deutsch' THEN
  58.       Text = Text||"*n*nAber die Version ist zu niedrig !*nGefunden : "||PVer||"*nGefordert:"||Ver
  59.     ELSE
  60.       Text = Text||"*n*nBut it`s version is too low !*nFound : "||PVer||"*nNeeded:"||Ver
  61.   END
  62.   ELSE DO
  63.     IF language = 'deutsch' THEN
  64.       Text = Text||"*n*nDie Version "||PVer||" ist OK"
  65.     ELSE
  66.       Text = Text||"*n*nThe version "||PVer||" is OK"
  67.   END
  68. END
  69.  
  70. IF Exists('c:RequestChoice') THEN
  71.   address command 'c:RequestChoice "Check" "*n'Text'*n" "OK"'
  72. ELSE DO
  73.   IF OPEN('Shell','CON:160/50/400/100/Check/CLOSE/WAIT') THEN DO
  74.     DO WHILE POS('*n',Text) > 0
  75.       text = Overlay(D2C(10),text,Pos('*n',text),2)
  76.     END
  77.     WriteLn('Shell',D2C(10)||' 'text)
  78.     CALL CLOSE('Shell')
  79.   END
  80. END
  81. EXIT
  82.